home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / bbchoose.lha / BootChooser.s / newver.S < prev   
Encoding:
Text File  |  1980-01-01  |  12.4 KB  |  639 lines

  1. ;org    $30000
  2. ;load    $30000
  3. **********************
  4. *** Bootchooser by ***
  5. *** BTC of SARGON! ***
  6. **********************
  7. s:
  8.     clr.w    $100
  9.     clr.l    d0
  10.     movem.l    a0-a6/d0-d7,-(sp)
  11.     move.l    $80,oldirq
  12.     move.l    #newjmp,$80
  13.     trap    #0
  14.     move.l    #oldirq,$80
  15.     movem.l    (sp)+,a0-a6/d0-d7
  16.     rts
  17. newjmp:
  18.     bsr    writecop1
  19.     bsr    start_muzak
  20.     bsr    makeline
  21.     bset    #1,$bfe001
  22.     lea    $dff000,a6
  23.     move.w    2(a6),help
  24.     move.w    28(a6),help+2
  25.     move.w    #$3fff,154(a6)
  26.     move.w    #$87e0,150(a6)
  27.     move.l    #newclist,128(a6)
  28.     move.w    136(a6),d0
  29.     clr.w    $dff1bc
  30. maus:
  31.     cmp.b    #$ff,$dff006
  32.     bne    maus
  33. wait30:
  34.     cmp.b    #$30,$dff006
  35.     bne    wait30
  36.     bsr    scrollcolors
  37.     bsr    writecol1
  38.     bsr    check
  39.     bsr    replay_muzak
  40.     btst    #6,$bfe001
  41.     bne    maus
  42.     move.l    $4,a6
  43.     lea    gfxbase,a1
  44.     jsr    -408(a6)
  45.     lea    $dff000,a6
  46.     move.l    d0,a0
  47.     move.w    #$7fff,150(a6)
  48.     move.l    38(a0),128(a6)
  49.     move.w    136(a6),d0
  50.     or.l    #$80008000,help
  51.     move.w    help,150(a6)
  52.     move.w    help+2,154(a6)
  53.     bclr    #1,$bfe001
  54.     move.w    #$2700,SR
  55.     bsr    stop_muzak
  56.     rte
  57. Help:
  58.     dc.l    0
  59. gfxbase:
  60.     dc.b    "graphics.library",0,0
  61. oldirq:
  62.     dc.l    0
  63.  
  64. getchar:
  65.     move.w    #7,d0
  66. loop1:
  67.     move.b    (a0)+,(a1)
  68.     add.l    #40,a1
  69.     dbf    d0,loop1
  70.     rts
  71.  
  72. makeline:
  73.     lea    $50000,a1
  74.     move.w    #18,d4
  75.     lea    text,a2
  76. oneline:
  77.     move.w    #39,d1
  78. noline:
  79.     lea    $70000,a0
  80.     lea    ascii,a3
  81.     move.l    a3,a4
  82.     move.b    (a2)+,d0
  83. cont:
  84.     cmp.b    (a3)+,d0
  85.     bne    cont
  86.     sub.l    #1,a3
  87.     sub.l    a4,a3
  88.     move.l    a3,d3
  89.     lsl.l    #3,d3
  90.     add.l    d3,a0
  91.     bsr    getchar
  92.     sub.l    #[8*40]-1,a1
  93.     dbf    d1,noline
  94.     add.l    #[8*40],a1
  95.     dbf    d4,oneline
  96.     rts
  97.  
  98. writecop1:
  99.     lea    coolone,a0
  100.     move.l    #$683ffffe,d0
  101.     move.l    #$01820f00,d1
  102.     move.w    #7,d4
  103.  
  104. nextline:
  105.     move.w    #39,d2
  106.     move.l    d0,(a0)+
  107. loop2:
  108.     move.l    d1,(a0)+
  109.     sub.l    #2,d1
  110.     dbf    d2,loop2
  111.     move.l    #$01820000,(a0)+
  112.     add.l    #$01000000,d0
  113.     dbf    d4,nextline
  114.     rts
  115.  
  116. writecol1:
  117.     lea    coolone+6,a1
  118.     lea    colors,a0
  119.     move.w    #7,d1
  120. nextcline:
  121.     move.l    a0,a2
  122.     move.w    #39,d0
  123. newone:
  124.     move.w    (a2)+,(a1)
  125.     add.l    #4,a1
  126.     dbf    d0,newone
  127.     add.l    #8,a1
  128.     add.l    #2,a0
  129.     dbf    d1,nextcline
  130.     rts
  131.  
  132. scrollcolors:
  133.     lea    colors,a0
  134.     lea    ecolors,a1
  135.     move.w    (a0),d0
  136. wait2:
  137.     move.w    2(a0),(a0)
  138.     add.l    #2,a0
  139.     cmp.l    a0,a1
  140.     bne    wait2
  141.     move.w    d0,ecolors-2
  142.     rts
  143.  
  144. check:
  145.     move.b    $dff00a,d0
  146.     move.b    btc4,d1
  147.     cmp.b    d0,d1
  148.     beq    b180
  149.     bge    b18a
  150.     ble    b1de
  151. b180:
  152.     move.b    d0,btc4
  153.     clr.l    d0
  154. b188:
  155.     rts
  156. b18a:
  157.     move.w    btca,d3
  158.     add.w    #1,btc6
  159.     cmp.w    btc6,d3
  160.     bne    b1da
  161.     clr.w    btc6
  162.     clr.w    btc8
  163.     clr.w    d5
  164.     move.w    #$100,d4
  165.     cmp.w    d5,d4
  166.     beq    b1da
  167.     tst.w    $100
  168.     beq    b180
  169.     sub.w    #1,$100
  170.     sub.w    #$0900,coolone
  171.     sub.w    #$0900,coolone+168
  172.     sub.w    #$0900,coolone+[2*168]
  173.     sub.w    #$0900,coolone+[3*168]
  174.     sub.w    #$0900,coolone+[4*168]
  175.     sub.w    #$0900,coolone+[5*168]
  176.     sub.w    #$0900,coolone+[6*168]
  177.     sub.w    #$0900,coolone+[7*168]
  178. b1da:
  179.     bra    b180
  180. b1de:
  181.     move.w    btca,d2
  182.     add.w    #1,btc8
  183.     cmp.w    btc8,d2
  184.     bne    b230
  185.     clr.w    btc8
  186.     clr.w    btc6
  187.     move.w    btcc,d5
  188.     move.w    #$100,d4
  189.     cmp.w    d4,d5
  190.     beq    b230
  191.     cmp.w    #9,$100
  192.     beq    b180
  193.     add.w    #1,$100
  194.     add.w    #$0900,coolone+[0*168]
  195.     add.w    #$0900,coolone+[1*168]
  196.     add.w    #$0900,coolone+[2*168]
  197.     add.w    #$0900,coolone+[3*168]
  198.     add.w    #$0900,coolone+[4*168]
  199.     add.w    #$0900,coolone+[5*168]
  200.     add.w    #$0900,coolone+[6*168]
  201.     add.w    #$0900,coolone+[7*168]
  202. b230:
  203.     bra    b180
  204.     rts
  205.  
  206. start_muzak:
  207.     move.l    #data,muzakoffset    ;** get offset
  208.  
  209. init0:    move.l    muzakoffset,a0        ;** get highest used pattern
  210.     add.l    #472,a0
  211.     move.l    #$80,d0
  212.     clr.l    d1
  213. init1:    move.l    d1,d2
  214.     subq.w    #1,d0
  215. init2:    move.b    (a0)+,d1
  216.     cmp.b    d2,d1
  217.     bgt.s    init1
  218.     dbf    d0,init2
  219.     addq.b    #1,d2
  220.  
  221. init3:    move.l    muzakoffset,a0        ;** calc samplepointers
  222.     lea    pointers,a1
  223.     mulu    #1024,d2
  224.     add.l    #600,d2
  225.     add.l    a0,d2
  226.     move.l    #15-1,d0
  227. init4:    move.l    d2,(a1)+
  228.     clr.l    d1
  229.     move.w    42(a0),d1
  230.     lsl.l    #1,d1
  231.     add.l    d1,d2
  232.     add.l    #30,a0
  233.     dbf    d0,init4
  234.  
  235. init5:    move.w    #$0,$dff0a8        ;** clear used values
  236.     move.w    #$0,$dff0b8
  237.     move.w    #$0,$dff0c8
  238.     move.w    #$0,$dff0d8
  239.     clr.w    timpos
  240.     clr.l    trkpos
  241.     clr.l    patpos
  242.  
  243. init6:    move.l    muzakoffset,a0        ;** initialize timer irq
  244.     move.b    470(a0),numpat+1    ;number of patterns
  245.     move.l    #240,d0
  246.     sub.b    471(a0),d0
  247.     mulu    #122,d0
  248.     move.b    #$0,$bfde00
  249.     move.b    d0,$bfd400
  250.     lsr.w    #8,d0
  251.     move.b    d0,$bfd500
  252.     rts
  253.  
  254. stop_muzak:
  255.     move.w    #$0,$dff0a8
  256.     move.w    #$0,$dff0b8
  257.     move.w    #$0,$dff0c8
  258.     move.w    #$0,$dff0d8
  259.     move.w    #$f,$dff096
  260.     rts
  261.  
  262.  
  263. replay_muzak:
  264.     addq.w    #1,timpos
  265. speed:    cmp.w    #6,timpos
  266.     beq    replaystep
  267.  
  268. chaneleffects:                ;** seek effects
  269.     lea    datach0,a6
  270.     tst.b    3(a6)
  271.     beq.s    ceff1
  272.     lea    $dff0a0,a5
  273.     bsr.s    ceff5
  274. ceff1:    lea    datach1,a6
  275.     tst.b    3(a6)
  276.     beq.s    ceff2
  277.     lea    $dff0b0,a5
  278.     bsr.s    ceff5
  279. ceff2:    lea    datach2,a6
  280.     tst.b    3(a6)
  281.     beq.s    ceff3
  282.     lea    $dff0c0,a5
  283.     bsr.s    ceff5
  284. ceff3:    lea    datach3,a6
  285.     tst.b    3(a6)
  286.     beq.s    ceff4
  287.     lea    $dff0d0,a5
  288.     bsr.s    ceff5
  289. ceff4:    rts
  290.  
  291. ceff5:    move.b    2(a6),d0        ;room for some more
  292.     and.b    #$0f,d0            ;implementations below
  293.     tst.b    d0
  294.     beq.s    arpreggiato
  295.     cmp.b    #1,d0
  296.     beq    pitchup
  297.     cmp.b    #2,d0
  298.     beq    pitchdown
  299.     cmp.b    #12,d0
  300.     beq    setvol
  301.     cmp.b    #14,d0
  302.     beq    setfilt
  303.     cmp.b    #15,d0
  304.     beq    setspeed
  305.     rts
  306.  
  307. arpreggiato:                ;** spread by time
  308.     cmp.w    #1,timpos
  309.     beq.s    arp1
  310.     cmp.w    #2,timpos
  311.     beq.s    arp2
  312.     cmp.w    #3,timpos
  313.     beq.s    arp3
  314.     cmp.w    #4,timpos
  315.     beq.s    arp1
  316.     cmp.w    #5,timpos
  317.     beq.s    arp2
  318.     rts
  319.  
  320. arp1:    clr.l    d0            ;** get higher note-values
  321.     move.b    3(a6),d0        ;   or play original
  322.     lsr.b    #4,d0
  323.     bra.s    arp4
  324. arp2:    clr.l    d0
  325.     move.b    3(a6),d0
  326.     and.b    #$0f,d0
  327.     bra.s    arp4
  328. arp3:    move.w    16(a6),d2
  329.     bra.s    arp6
  330. arp4:    lsl.w    #1,d0
  331.     clr.l    d1
  332.     move.w    16(a6),d1
  333.     lea    notetable,a0
  334. arp5:    move.w    (a0,d0.w),d2
  335.     cmp.w    (a0),d1
  336.     beq.s    arp6
  337.     addq.l    #2,a0
  338.     bra.s    arp5
  339. arp6:    move.w    d2,6(a5)
  340.     rts
  341.  
  342. pitchdown:
  343.     bsr    newrou
  344.     clr.l    d0
  345.     move.b    3(a6),d0
  346.     and.b    #$0f,d0
  347.     add.w    d0,(a4)
  348.     cmp.w    #$358,(a4)
  349.     bmi.s    ok1
  350.     move.w    #$358,(a4)
  351. ok1:    move.w    (a4),6(a5)
  352.     rts
  353.  
  354. pitchup:bsr    newrou
  355.     clr.l    d0
  356.     move.b    3(a6),d0
  357.     and.b    #$0f,d0
  358.     sub.w    d0,(a4)
  359.     cmp.w    #$71,(a4)
  360.     bpl.s    ok2
  361.     move.w    #$71,(a4)
  362. ok2:    move.w    (a4),6(a5)
  363.     rts
  364.  
  365. setvol:    move.b    3(a6),8(a5)
  366.     rts
  367.  
  368. setfilt:move.b    3(a6),d0
  369.     and.b    #$01,d0
  370.     asl.b    #$01,d0
  371.     and.b    #$fd,$bfe001
  372.     or.b    d0,$bfe001
  373.     rts
  374.  
  375. setspeed:
  376.     clr.l    d0
  377.     move.b    3(a6),d0
  378.     and.b    #$0f,d0
  379.     move.w    d0,speed+2
  380.     rts
  381.  
  382. newrou:    cmp.l    #datach0,a6
  383.     bne.s    next1
  384.     lea    voi1,a4
  385.     rts
  386. next1:    cmp.l    #datach1,a6
  387.     bne.s    next2
  388.     lea    voi2,a4
  389.     rts
  390. next2:    cmp.l    #datach2,a6
  391.     bne.s    next3
  392.     lea    voi3,a4
  393.     rts
  394. next3:    lea    voi4,a4
  395.     rts
  396.  
  397. replaystep:                ;** work next pattern-step
  398.     clr.w    timpos
  399.     move.l    muzakoffset,a0
  400.     move.l    a0,a3
  401.     add.l    #12,a3            ;ptr to soundprefs
  402.     move.l    a0,a2
  403.     add.l    #472,a2            ;ptr to pattern-table
  404.     add.l    #600,a0            ;ptr to first pattern
  405.     clr.l    d1
  406.     move.l    trkpos,d0        ;get ptr to current pattern
  407.     move.b    (a2,d0),d1
  408.     mulu    #1024,d1
  409.     add.l    patpos,d1        ;get ptr to current step
  410.     clr.w    enbits
  411.     lea    $dff0a0,a5        ;chanel 0
  412.     lea    datach0,a6
  413.     bsr    chanelhandler
  414.     lea    $dff0b0,a5        ;chanel 1
  415.     lea    datach1,a6
  416.     bsr    chanelhandler
  417.     lea    $dff0c0,a5        ;chanel 2
  418.     lea    datach2,a6
  419.     bsr    chanelhandler
  420.     lea    $dff0d0,a5        ;chanel 3
  421.     lea    datach3,a6
  422.     bsr    chanelhandler
  423.     move.l    #400,d0            ;** wait a while and set len
  424. rep1:    dbf    d0,rep1            ;   of oneshot to 1 word
  425.     move.l    #$8000,d0
  426.     or.w    enbits,d0
  427.     move.w    d0,$dff096
  428.     cmp.w    #1,datach0+14
  429.     bne.s    rep2
  430.     clr.w    datach0+14
  431.     move.w    #1,$dff0a4
  432. rep2:    cmp.w    #1,datach1+14
  433.     bne.s    rep3
  434.     clr.w    datach1+14
  435.     move.w    #1,$dff0b4
  436. rep3:    cmp.w    #1,datach2+14
  437.     bne.s    rep4
  438.     clr.w    datach2+14
  439.     move.w    #1,$dff0c4
  440. rep4:    cmp.w    #1,datach3+14
  441.     bne.s    rep5
  442.     clr.w    datach3+14
  443.     move.w    #1,$dff0d4
  444.  
  445. rep5:    add.l    #16,patpos        ;next step
  446.     cmp.l    #64*16,patpos        ;pattern finished ?
  447.     bne    rep6
  448.     clr.l    patpos
  449.     addq.l    #1,trkpos        ;next pattern in table
  450.     clr.l    d0
  451.     move.w    numpat,d0
  452.     cmp.l    trkpos,d0        ;song finished ?
  453.     bne    rep6
  454.     clr.l    trkpos
  455. rep6:    rts
  456.  
  457. chanelhandler:
  458.     move.l    (a0,d1.l),(a6)        ;get period & action-word
  459.     addq.l    #4,d1            ;point to next chanel
  460.     clr.l    d2
  461.     move.b    2(a6),d2        ;get nibble for soundnumber
  462.     lsr.b    #4,d2
  463.     beq.s    chan2            ;no soundchange !
  464.     move.l    d2,d4            ;** calc ptr to sample
  465.     lsl.l    #2,d2
  466.     mulu    #30,d4
  467.     lea    pointers-4,a1
  468.     move.l    (a1,d2.l),4(a6)        ;store sample-address
  469.     move.w    (a3,d4.l),8(a6)        ;store sample-len in words
  470.     move.w    2(a3,d4.l),18(a6)    ;store sample-volume
  471.  
  472.     move.l    d0,-(a7)
  473.     move.b    2(a6),d0
  474.     and.b    #$0f,d0
  475.     cmp.b    #$0c,d0
  476.     bne.s    ok3
  477.     move.b    3(a6),8(a5)
  478.     bra.s    ok4
  479. ok3:    move.w    2(a3,d4.l),8(a5)    ;change chanel-volume
  480. ok4:    move.l    (a7)+,d0
  481.  
  482.     clr.l    d3
  483.     move.w    4(a3,d4),d3        ;** calc repeatstart
  484.     add.l    4(a6),d3
  485.     move.l    d3,10(a6)        ;store repeatstart
  486.     move.w    6(a3,d4),14(a6)        ;store repeatlength
  487.     cmp.w    #1,14(a6)
  488.     beq.s    chan2            ;no sustainsound !
  489.     move.l    10(a6),4(a6)        ;repstart  = sndstart
  490.     move.w    6(a3,d4),8(a6)        ;replength = sndlength
  491. chan2:    cmp.w    #0,(a6)
  492.     beq.s    chan4            ;no new note set !
  493.     move.w    22(a6),$dff096        ;clear dma
  494.     cmp.w    #0,14(a6)
  495.     bne.s    chan3            ;no oneshot-sample
  496.     move.w    #1,14(a6)        ;allow resume (later)
  497. chan3:    bsr    newrou
  498.     move.w    (a6),(a4)
  499.     move.w    (a6),16(a6)        ;save note for effect
  500.     move.l    4(a6),0(a5)        ;set samplestart
  501.     move.w    8(a6),4(a5)        ;set samplelength
  502.     move.w    (a6),6(a5)        ;set period
  503.     move.w    22(a6),d0
  504.     or.w    d0,enbits        ;store dma-bit
  505.     move.w    18(a6),20(a6)        ;volume trigger
  506. chan4:    rts
  507.  
  508. datach0:    dc.w    0,0,0,0,0,0,0,0,0,0,0,1
  509. datach1:    dc.w    0,0,0,0,0,0,0,0,0,0,0,2
  510. datach2:    dc.w    0,0,0,0,0,0,0,0,0,0,0,4
  511. datach3:    dc.w    0,0,0,0,0,0,0,0,0,0,0,8
  512. voi1:        dc.w    0
  513. voi2:        dc.w    0
  514. voi3:        dc.w    0
  515. voi4:        dc.w    0
  516. pointers:    dc.l    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  517. notetable:    dc.w    856,808,762,720,678,640,604,570
  518.         dc.w    538,508,480,453,428,404,381,360
  519.         dc.w    339,320,302,285,269,254,240,226  
  520.         dc.w    214,202,190,180,170,160,151,143
  521.         dc.w    135,127,120,113,000
  522. muzakoffset:    dc.l    0
  523. lev6save:    dc.l    0
  524. trkpos:        dc.l    0
  525. patpos:        dc.l    0
  526. numpat:        dc.w    0
  527. enbits:        dc.w    0
  528. timpos:        dc.w    0
  529. data = $33000
  530. newclist:
  531.     dc.w    $008e,$2c81,$0090,$2cc1,$0092,$0038,$0094,$00d0
  532.     dc.w    $0102,$0000,$0104,$0000,$0108,$0000,$010a,$0000
  533.     dc.w    $120,0,$122,0,$124,0,$126,0,$128,0,$12a,0,$12c,0,$12e,0
  534.     dc.w    $130,0,$132,0,$134,0,$136,0,$138,0,$13a,0,$13c,0,$13e,0
  535.     dc.w    $192,$00
  536.  
  537.     dc.w    $0100,$0200,$0180,$0000
  538.     dc.w    $2c11,$fffe,$0180,$0444
  539.     dc.w    $2d11,$fffe,$0180,$0666
  540.     dc.w    $2e11,$fffe,$0180,$0777
  541.     dc.w    $3011,$fffe,$0180,$0888
  542.     dc.w    $3111,$fffe,$0180,$0999
  543.     dc.w    $3211,$fffe,$0180,$0aaa
  544.  
  545.     dc.w    $3611,$fffe
  546.     dc.w    $00e0,$0005,$00e2,$0000,$0100,$1200,$0108,$ffd8,$182,$eee
  547.     dc.w    $3811,$fffe,$108,0
  548.     dc.w    $3911,$fffe,$108,$ffd8
  549.     dc.w    $00e4,$0005,$00e6,$0000,$0100,$2400,$102,$20,$010a,$ffd8
  550.     dc.w    $3b11,$fffe,$108,0,$10a,$0
  551.     dc.w    $3c11,$fffe,$108,$ffd8,$10a,$ffd8
  552.     dc.w    $3e11,$fffe,$108,0,$10a,0
  553.     dc.w    $3f11,$fffe,$108,$ffd8,$10a,$ffd8
  554.     dc.w    $4111,$fffe,$108,0,$10a,0
  555.     dc.w    $4211,$fffe,$108,$ffd8,$10a,$ffd8
  556.     dc.w    $4411,$fffe,$108,0,$10a,0
  557.     dc.w    $4511,$fffe,$108,$ffd8,$10a,$ffd8
  558.     dc.w    $4711,$fffe,$108,0,$10a,0
  559.     dc.w    $4811,$fffe,$108,$ffd8,$10a,$ffd8
  560.     dc.w    $4a11,$fffe,$108,0,$10a,0
  561.     dc.w    $4b11,$fffe,$10a,$ffd8
  562.     dc.w    $4d11,$fffe,$10a,0
  563.  
  564.     dc.w    $4f11,$fffe,$0100,$0200
  565.     dc.w    $5011,$fffe,$0180,$0999
  566.     dc.w    $5111,$fffe,$0180,$0888
  567.     dc.w    $5211,$fffe,$0180,$0777
  568.     dc.w    $5311,$fffe,$0180,$0666
  569.     dc.w    $5411,$fffe,$0180,$0444
  570.     dc.w    $5511,$fffe,$0180,$0000,$0102,$0,$108,0,$182,0
  571.  
  572.  
  573.     dc.w    $6011,$fffe,$0180,$0444
  574.     dc.w    $6111,$fffe,$0180,$0666
  575.     dc.w    $6211,$fffe,$0180,$0777
  576.     dc.w    $6311,$fffe,$0180,$0888
  577.     dc.w    $6411,$fffe,$0180,$0999
  578.     dc.w    $6511,$fffe,$0180,$0aaa
  579.     dc.w    $6611,$fffe,$0182,$0000
  580.     dc.w    $6811,$fffe,$0100,$1200
  581.     dc.w    $00e0,$0005,$00e2,$0000+[18*40]
  582. coolone:
  583.     blk.l    [8*42],0
  584.  
  585.     dc.w    $ffe1,$fffe,$0190,$0000
  586.     dc.w    $0111,$fffe,$0180,$0999
  587.     dc.w    $0211,$fffe,$0180,$0888
  588.     dc.w    $0311,$fffe,$0180,$0777
  589.     dc.w    $0411,$fffe,$0180,$0666
  590.     dc.w    $0511,$fffe,$0180,$0444
  591.     dc.w    $0611,$fffe,$0180,$0000
  592.     dc.w    $ffff,$fffe
  593. textzeiger:
  594.     dc.l    text
  595. text:
  596.     dc.b    "        sargons^s copy disk v1.0        "
  597.     dc.b    "                                        "
  598.     dc.b    "x-copy                                  "
  599.     dc.b    "fast lightning                          "
  600.     dc.b    "diskmaster v1.3                         "
  601.     dc.b    "a-copy                                  "
  602.     dc.b    "main menu                               "
  603.     dc.b    "smart disk                              "
  604.     dc.b    "mastercoperer                           "
  605.     dc.b    "cli-mate                                "
  606.     dc.b    "fast^em                                 "
  607.     dc.b    "burstnibbler                            "
  608.     dc.b    "                                        "
  609.     dc.b    " this cool bootselector was written by  "
  610.     dc.b    "     btc , yankee and fog of sargon     "
  611.     dc.b    "                                        "
  612.     dc.b    "contact sargon at : plk 073976 c        "
  613.     dc.b    "                    5060 berg.gladbach2 "
  614.     dc.b    "                    w.germany           "
  615.     dc.b    0
  616. ascii:
  617.     dc.b    "abcdefghijklmnopqrstuvwxyz0123456789:^/?.,!-+ ",0
  618. colors:
  619.     dc.w    $100,$200,$300,$400,$500,$600,$700,$800,$900,$a00,$b00
  620.     dc.w    $c00,$d00,$e00,$f00,$f10,$f20,$f30,$f40,$f50,$f60,$f70
  621.     dc.w    $f80,$f90,$fa0,$fb0,$fc0,$fd0,$fe0,$ff0,$ef0,$df0,$cf0
  622.     dc.w    $bf0,$af0,$9f0,$8f0,$7f0,$6f0,$5f0,$4f0,$3f0,$2f0,$1f0;44
  623.     dc.w    $f0,$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$fa,$fb,$fc,$fd
  624.     dc.w    $fe,$ff,$ef,$df,$cf,$bf,$af,$9f,$8f,$7f,$6f,$5f,$4f,$3f
  625.     dc.w    $2f,$1f,$0f,$0e,$d,$c,$b,$a,9,8,7,6,5,4,3,2,1    ;89
  626. ecolors:
  627. btc4:
  628.     dc.b    $ac,0
  629. btc6:
  630.     dc.b    0,0
  631. btc8:
  632.     dc.b    0,0
  633. btca:
  634.     dc.b    0,3
  635. btcc:
  636.     dc.b    0,3
  637. helper:
  638.     dc.w    0
  639.